草庐IT

MySQL Left Join + Where问题

全部标签

c# - 如何强制我的 lambda 表达式提前求值?修复 lambda 表达式的怪异问题?

我编写了以下C#代码:_locationsByRegion=newDictionary>();foreach(stringregionIdinregionIds){IEnumerablelocationIds=Locations.Where(location=>location.regionId.ToUpper()==regionId.ToUpper()).Select(location=>location.LocationId);//IfIcasttoanarrayhere,itworks._locationsByRegion.Add(regionId,LocationIdsIds)

c# - Microsoft Office 互操作性能问题

我尝试在我的C#4.0Windows应用程序中将datagridview数据导出到excel文件。我们使用了Microsoft.Office.Interop.Exceldll版本12.0.0.0。一切都很好很好。但是当我尝试导出超过1000条datagridview记录时,它花费的时间太长了时间。我怎样才能提高性能。请参阅下面的Excel帮助程序代码。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.IO;usingMicrosoft.Office.Inte

C# linq 联合问题

谁能解释一下LINQ中的Union是如何工作的?据说它合并了两个序列并删除了重复项。但我能否以某种方式自定义重复删除行为-假设我希望在重复的情况下使用第二个序列中的元素或第一个序列中的元素。或者即使我希望以某种方式将这些值组合到结果序列中?应该如何实现?更新我想我对问题的描述不正确,假设我们有一些值(value):classValue{StringnameIntwhatever;}并且使用的比较器执行x.name==y.name检查。假设有时我知道我应该从第二个序列中获取元素,因为它的whatever字段比第一个序列的whatever字段更新/更好.无论如何,我会使用方法的sequen

c# - 休眠 + QueryOver : filter with Where ignoring sensitive

我正在尝试使用QueryOver在nHibernate中构建一个简单的查询,但我希望它将所有内容转换为小写或忽略敏感信息:Domain.UserUser=Session.QueryOver().Where(x=>x.Login=="username").SingleOrDefault();我怎样才能做到这一点?更新:有人建议问题可能出在数据库的集合上,但我从来没有遇到过任何问题,这个脚本有效:Domain.UserUser=Session.CreateCriteria().Add(Expression.Eq("Login","username")).UniqueResult();

c# - BinaryWriter Endian 问题

我正在使用BinaryWriter类将二进制文件写入磁盘。当我调用Write方法并传递一个无符号短值时,它以小端格式写入。例如:bw.Write(0xA000);将二进制文件中的值写入0x000xA0。有没有办法让BInaryWriter使用BigEndian?如果不行,是否可以新建一个类,继承BinaryWriter,重载Write函数,让它写bigendian? 最佳答案 您可以在MiscUtil中使用我的EndianBinaryWriter.这使您可以指定所需的字节顺序。还有EndianBinaryReader和EndianB

c# - XML 序列化和 DefaultValue ("") c# 中的相关问题

我的类属性具有将被序列化的默认值。publicclassDeclaredValue{[XmlElement(ElementName="Amount",DataType="double",IsNullable=false),DefaultValue(999)]publicdoubleAmount{get;set;}[XmlElement(ElementName="Reference2",DataType="string",IsNullable=false),DefaultValue("")]publicstringReference2{get;set;}}因此我们创建DeclaredVa

c# - Linq:只为 Where 和 OrderBy 调用相同的方法一次而不是两次?

我有一个简单的linq查询,我需要在一定距离内过滤商店,并根据距离计算结果排序,你懂的。因此,我暂时调用了两次GetDistance方法。如何优化代码以在每个商店只调用一次?doubledistance=50;varresult=stores.Where(s=>Helper.GetDistance(lat,lon,s.Lat,s.Lon)Helper.GetDistance(lat,lon,s.Lat,s.Lon)).ToList(); 最佳答案 一些人(我)觉得更容易阅读的与Yuriy的回答等价的是:doublemaxDistan

c# - 循环优化或 lambda 闭合有问题?

在下面的方法中,我发送了一个Action枚举,并希望返回一个调用Action的ICommand数组。包装那些Action(relayCommand需要)。问题是,如果我在foreach(甚至是for循环)中执行此操作,我得到的命令总是执行参数中传递的第一个操作。publicstaticICommand[]CreateCommands(IEnumerableactions){Listcommands=newList();Action[]actionArray=actions.ToArray();//works//commands.Add(newRelayCommand(o=>{actio

C# 日期时间解析问题

尝试将日期/时间从字符串转换为DateTime时,我没有得到正确的值。DateTimetestDate=DateTime.ParseExact("2012-08-10T00:51:14.146Z","yyyy-MM-ddTHH:mm:ss.fffZ",CultureInfo.InvariantCulture,DateTimeStyles.AssumeUniversal);我的结果是2012-08-098:51:14PM。为什么会被抵消?我只是希望它具有相同的值(value)。 最佳答案 您正在解析UTC日期,但DateTime.Ki

c# - LINQ: ...Where(x => x.Contains(以 "foo"开头的字符串 ))

给定以下类的集合:publicclassPost{...publicIListTags{get;set;}}有没有一种简单的方法可以使用LINQ获取所有包含以“foo”开头的标签的Post?varposts=newList{newPost{Tags=new[]{"fooTag","tag"}},newPost{Tags=new[]{"barTag","anyTag"}},newPost{Tags=new[]{"someTag","fooBarTag"}}};varpostsWithFooTag=posts.Where(x=>[somefancyLINQqueryhere]);posts